/**
 * @author peter.zheng
 * 圈子中心公用广告组件
 * 2011-7-14
 */
;
(function($) {
    $.fn.extend({
        aceona_ad_slider: function(options) {
            var options=$.extend({
                slideParent:null,
                callback: function() {
                },
                isAutoPlay:false,
                shutIcon:".app_icon_u",
                delIcon:".app_icon_del",
                imgBanner:".img_adbox",
                hasNumBar:true,
                btnEvent:"click",
                _index:0,
                digit:true,
                slideUp:true,
                //定义切换小点的风格
                numType:"ace_uc_numbar",
                //小点是否需要绝对定位
                posClass:"",
                //切换效果
                effect:"",
                //点击删除探按纽时回调
                removeAfter:function(){
                },
                timer:6000,
                autoRunTimer:6000
            },options|| {});

            //函数调整
            return this.each( function() {
                //设置定位
                $(options.slideParent).css("position","relative");
                var _hasNum=$(options.slideParent).find(options.imgBanner).size();
                $_that=$(this);
                if(options.hasNumBar) {
                    var $_barNum=$("<div class='"+options.numType+" "+options.posClass+"'></div>");
                    $_barNum.appendTo($(options.slideParent)[0]);
                    var _hasNumDom="";
                    if(options.digit){
                        for(var i=1;i<=_hasNum;i++) {
                            _hasNumDom+='<a title="'+i+'" href="javascript:void(0);">'+i+'</a>';
                        }
                    }else{
                        for(var i=1;i<=_hasNum;i++) {
                            _hasNumDom+='<a href="javascript:void(0)" class="dot">&nbsp;</a>';
                        }
                    }
                    $(_hasNumDom).appendTo($_barNum);
                    $_barNum.children("a").eq(0).addClass("current");
                    $_barNum.css("position","absolute");
                    options._barNum=$_barNum;
                    //设定并产生btn Dom结构
                    $_barNum.find("a").each( function() {
                        var $_btn_a=$(this);
                        $_btn_a.bind(options.btnEvent, function() {
                            var _btn_index=$_btn_a.index();
                            options._index=_btn_index;
                            $_btn_a.addClass("current").siblings().removeClass("current");
                            _runTab(_btn_index);
							return false;
                        })
                    })
                }
                 function _runTab(index){
                      options._barNum.find("a").eq(index).addClass("current").siblings().removeClass("current");
                      if(options.effect==="fadeIn"){
                                 $(options.slideParent).find(options.imgBanner).hide().eq(index).fadeIn();
                            }else{
                                $(options.slideParent).find(options.imgBanner).hide().eq(index).show();
                      }
                 };
				  function  _getBannerIndex(){
					 options._index=$_newBar.find("li").eq(0).attr("class");
						var _re=/\d+/gi;
						options._index=_re.exec(options._index);
						return options._index;
				  }
                if(options.slideUp) {
                    window.setTimeout( function() {
                        $(options.slideParent).slideUp("fast", function() {
                            options._index=_getBannerIndex();
                            $_that.show();
	                        if(typeof(options.callback)==='function') {
	                            options.callback();
	                        }
                        });
                    },options.timer)
                }
                //自动播放
                if(options.isAutoPlay){
                   options._run=setInterval(function(){
                       options._index++;
                       if(options._index==_hasNum){
                          options._index=0;
                       }
                       _runTab(options._index);
                   },options.autoRunTimer);
                }
                //关闭
                $(options.slideParent).find(options.shutIcon).bind("click", function() {
                    $(options.slideParent).animate({
                        height:"toggle",
                        opacity:"toggle"
                    },500, function() {
						options._index=_getBannerIndex();
                        $_that.show();
                    } );
                    return false;
                });
                //删除结构
                $_that.find(options.delIcon).bind("click",function(){
                    $_that.slideUp("fast",function(){
                        $_that.remove();
                        if($.isFunction(options.removeAfter)){
                            options.removeAfter();
                        };
                    });
                });
                //展开层
                var $_newBar=$(this);
                $(this).find(".app_icon_t").bind("click", function() {
                    options._index=_getBannerIndex();
                    $(options.slideParent).find(options.imgBanner).hide().eq(options._index).show();
                    options._barNum.find("a").removeClass("current").eq(options._index).addClass("current");
                    $_that.hide();
                    $(options.slideParent).animate({
                        height:"toggle",
                        opacity:"toggle"
                    }, {
                        duration: 500
                    });

                })
            })
        }
    })
})(jQuery);